
import java.rmi.*;
import java.rmi.registry.*;
import java.util.ArrayList;
import java.util.Scanner;

public class Caixa {

	public static ArrayList<Conta> contas = new ArrayList<Conta>();
	
	public static void main (String[] args){
		
		int opcao, i;
		
		try{
			
			Registry registry = LocateRegistry.getRegistry();
			InterfaceCaixa stub = (InterfaceCaixa) registry.lookup("caixa");
			
			Scanner input = new Scanner(System.in);
			
			while(true) {
			
				System.out.printf("Opções:\n");
				System.out.printf("1 - Atualizar Contas\n");
				System.out.printf("2 - Imprimir Contas\n");
				System.out.printf("3 - Pagar Conta\n");
							
				opcao = input.nextInt();
				
				if(opcao == 1) {
					
					contas.clear();
					contas = stub.getContas();
				}
				else if(opcao == 2) {
				
					for(i = 0; i<contas.size(); i++) {
						System.out.printf("Nome: %s\n", contas.get(i).getGarcom().getNome());
						System.out.printf("Mesa: %d\nValor: %f\n", contas.get(i).getMesa(), contas.get(i).getValorTotal());					
					}
				}
				else if(opcao == 3) {
					
					System.out.printf("\tEntrar com numero da mesa:");			
					int numero = input.nextInt();
					
					for(i = 0; i<contas.size(); i++) {
						if (numero == contas.get(i).getMesa()) {
							System.out.printf("\t\tValor total = %f\n", contas.get(i).getValorTotal());
							contas.remove(i);
							stub.setContas(contas);
							System.out.printf("\t\tConta paga\n\n");

						}
					}
				}
			}
			
		} catch (Exception e) {
			// TODO: handle exception
		}		
	}	

}